package com.platform.qujia.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.platform.qujia.enums.ReceiptType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @description receipt_section
 * @author
 * @date 2024-01-23
 */
@Setter
@Getter
@ApiModel("receipt_section")
public class ReceiptSection implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty("id")
    private Long id;

    /**
     * 油企id，为零是默认设置
     */
    @ApiModelProperty("油企id，为零是默认设置")
    private Long enterpriseId;

    /**
     * 小票类型，0-消费小票(商户联)消费小票(商户联)，1-消费小票(顾客联)
     */
    @ApiModelProperty("小票类型，0-消费小票(商户联)消费小票(商户联)，1-消费小票(顾客联)")
    private ReceiptType receiptType;

    /**
     * 内容块名称，每个receiptType内唯一
     */
    @ApiModelProperty("内容块名称，每个receiptType内唯一")
    private String sectionName;

    /**
     * 内容快标题，打印的名字
     */
    @ApiModelProperty("内容快标题，打印的名字")
    private String sectionTitle;

    /**
     * 标题样式
     */
    @ApiModelProperty("标题样式")
    private String sectionTitleStyle;

    /**
     * 模板id
     */
    @ApiModelProperty("模板id")
    private String templateId;

    /**
     * 区块内容数据类型，object-对象，table-表格
     */
    @ApiModelProperty("区块内容数据类型，object-对象，table-表格")
    private String dataType;

    /**
     * 表格数据表达式
     */
    @ApiModelProperty("表格数据表达式")
    private String tableDataExpress;

    /**
     * 示例，前端展示用
     */
    @ApiModelProperty("示例，前端展示用")
    private String example;

    /**
     * 打印顺序
     */
    @ApiModelProperty("打印顺序")
    private Integer sectionOrder;

    /**
     * 是否打印，0-不打印，1-打印
     */
    @ApiModelProperty("是否打印，0-不打印，1-打印")
    private Integer printEnabled;

    /**
     * create_time
     */
    @ApiModelProperty("create_time")
    private LocalDateTime createTime;

    /**
     * create_by
     */
    @ApiModelProperty("create_by")
    private String createBy;

    /**
     * update_time
     */
    @ApiModelProperty("update_time")
    private LocalDateTime updateTime;

    /**
     * update_by
     */
    @ApiModelProperty("update_by")
    private String updateBy;

    /**
     * 0-未删除，1-删除
     */
    @ApiModelProperty("0-未删除，1-删除")
    @TableLogic(value = "0",delval = "1")
    private Integer delFlag;

    @TableField(exist = false)
    @ApiModelProperty("字段列表")
    private List<ReceiptSectionField> fieldList;
}